<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Strict//EN">
<html>

<head>
<meta http-equiv="Content-Language" content="en-us">
<title>Dynamics</title>
<link rel="stylesheet" type="text/css" href="../style.css">
</head>

<body>

<div align="center">
<table class=allEncompassingTable >
 <tr>
  <td >
<p><a href="../index.html" TARGET="_top"><img src="images/homeImg.png"></a></p>



<h1>Dynamics</h1>

<p>CoppeliaSim's dynamics module currently supports four different physics engines: the <a href="#bullet">Bullet physics library</a>, the <a href="#ode">Open Dynamics Engine</a>,  the <a href="#vortex">Vortex Studio engine</a> and the <a href="#newton">Newton Dynamics engine</a>. At any time, the user is free to quickly switch from one engine to the other according to his/her <a href="simulation.htm">simulation</a> needs. The reason for this diversity in physics engine support is that physics simulation is a complex task, that can be achieved with various degrees of precision, speed, or with support of diverse features:</p>


<li><a name="bullet" id="bullet"></a><a href="http://www.bulletphysics.org">Bullet physics library</a>: an open source physics engine featuring 3D collision detection, rigid body dynamics, and soft body dynamics (feature that is currently not supported in CoppeliaSim). It is used in games, and in visual effects in movies. It is often considered as a <em>game physics engine</em>.</li>

<p align=center><img src="images/bulletLogo.jpg"></p>
<p class=imageLabel>[Bullet Physics]</p>
<br>



<li><a name="ode" id="ode"></a><a href="http://www.ode.org">Open Dynamics Engine (ODE)</a>: an open source physics engine with two main components: rigid body dynamics and collision detection. It has been used in many applications and games. It is often considered as a <em>game physics engine</em>.</li>

<p align=center><img src="images/odeLogo.jpg"></p>
<p class=imageLabel>[Open Dynamics Engine]</p>
<br>


<li><a name="vortex" id="vortex"></a><a href="https://www.cm-labs.com/vortex-studio/">Vortex® Studio</a>: a closed source, commercial physics engine producing high fidelity physics simulations. Vortex offers real-world parameters (i.e. corresponding to physical units) for a large number of physical properties, making this engine both realistic and precise. Vortex is mainly used in high performance/precision industrial and research applications. The Vortex plugin for CoppeliaSim is based on <a href="https://www.cm-labs.com/vortex-studio/">Vortex Studio</a>, which requires each user to <a href="https://www.cm-labs.com/cm-labs-university/">register with CM Labs</a>, for a free license key.</li>

<p align=center><img src="images/vortexLogo.gif"></p>
<p class=imageLabel>[Vortex Studio]</p>
<br>



<li><a name="newton" id="newton"></a><a href="http://www.newtondynamics.com">Newton Dynamics</a>: Newton Dynamics is a cross-platform life-like physics simulation library. It implements a deterministic solver, which is not based on   traditional LCP or iterative methods, but possesses the stability and   speed of both respectively. This feature makes Newton Dynamics a tool   not only for games, but also for any real-time physics simulation. Current plugin implementation is a BETA version.</li>

<p align=center><img src="images/newtonLogo.jpg"></p>
<p class=imageLabel>[Newton Dynamics]</p>
<br>




<p>The dynamics module allows simulating interactions between <a href="objects.htm">objects</a> that are near to real-world object interactions. It allows objects to fall, collide, bounce back, but it also allows a manipulator to grasp objects, a conveyor belt to drive parts forward, or a vehicle to roll in a realistic fashion over uneven terrain. Following figures illustrate a dynamic simulation:<br>
</p>

<p align=center><img src="images/dynamics2.jpg"></p>
<p class=imageLabel>[Dynamic simulation]</p>
<br>

<p>Unlike many other simulation software packages, CoppeliaSim is not a <em>pure</em> dynamics simulator. It can rather be seen as a hybrid simulator that combines kinematics and dynamics in order to obtain the best performance for various simulation scenarios. Nowadays, physics engines are still relying on many approximations and are relatively imprecise and slow, and wherever possible you should try to use kinematics instead (e.g. for robotic manipulators) and only rely on dynamics where otherwise not feasible (e.g. a robotic manipulator's gripper). If you are simulating a mobile robot that is not supposed to collide or physically interact with its environment (which most mobile robots are anyway very rarely supposed to do) and that is operating exclusively on flat ground (which groups the vast majority of mobile robots), then try rather using kinematic or geometric calculations to simulate the robot's movement. The result will be faster and more accurate.<br>
</p>

<p>Some results of the dynamics module can be recorded by graph objects. Refer to <a href="graphs.htm">graphs</a> and <a href="dataStreamTypes.htm">graph data stream types</a> for more information about how to record dynamics data.<br>
</p>



<br>
<h3 class=recommendedTopics>Recommended topics</h3>

<li><a href="apiFunctionListCategory.htm#dynamicsFunctionality">Related API functions</a></li>
<li><a href="designingDynamicSimulations.htm">Designing dynamic simulations</a></li>
<li><a href="dynamicsDialog.htm">General dynamics properties</a></li>
<br>
<br>
 </tr>
</table> 
</div>  
  
  
</body>

</html>
